package com.gitee.zhengjiasen.dp.decorator.demo1;

import java.math.BigDecimal;

public class Soy extends CondimentDecorator {

    /**
     * 用一个实例变量记录饮料, 也就是被装饰者
     */
    Beverage beverage;

    public Soy(Beverage beverage) {
        this.beverage = beverage;
    }

    /**
     * 在原来饮料上添加上Soy描述(原来的饮料加入Soy调料, 被Soy调料装饰)
     *
     * @return
     */
    @Override
    public String getDescription() {
        return beverage.getDescription() + ",Soy";
    }

    /**
     * 在原来的饮料的基础上加入soy的价格(原来的饮料加入soy调料)
     *
     * @return
     */
    @Override
    public BigDecimal cost() {
        return new BigDecimal("0.3").add(beverage.cost());
    }
}
